package cn.bigcontainer.alt.workflow.extension;

import java.util.List;

import cn.bigcontainer.alt.workflow.dto.MTaskDefinitionDto;

/**
 * 流程候选人路由器，用于获取下一个任务的候选人
 * @author cailei
 * @create_date 2011-9-6
 */
public interface TaskCandidateRouter {

	/**
	 * 任务current提交时，调用该方法获取可以执行下一个任务next的候选人.调用该方法时，下一个任务next已经获取。
	 * 可以通过current.getProcessInstanceId方法获取当前对象ID。
	 * 该接口的实现Bean配置在任务next的taskCandidateRouter属性上。
	 *
	 * @param current 当前任务
	 * @param next 当前任务current的下一个任务
	 * @return
	 */
	List<String> getTaskCandidates(MTaskDefinitionDto current, MTaskDefinitionDto next);
}
